---
title: Por que Bloc?
description:
  Uma visão geral do que torna o Bloc uma solução de gerenciamento de estado
  sólido.
sidebar:
  order: 1
---

O Bloc facilita separar a apresentação da lógica de negócios, tornando seu
código _rápido_, _fácil de testar_ e _reutilizável_.

Ao construir aplicativos de qualidade em produção, o gerenciamento do estado
torna-se crítico.

Como desenvolvedores, queremos:

- saber em que estado o nosso aplicativo está em qualquer momento.
- testar facilmente todos os casos de uso para garantir que nosso aplicativo
  esteja respondendo adequadamente.
- registrar cada interação do usuário em nosso aplicativo para que possamos
  tomar decisões baseadas em dados.
- trabalhar da forma mais eficiente possível e reutilizar componentes tanto em
  nosso aplicativo quanto em outros aplicativos.
- ter muitos desenvolvedores trabalhando facilmente em uma única base de código,
  seguindo os mesmos padrões e convenções.
- desenvolver aplicativos rápidos e reativos.

O Bloc foi projetado para atender a todas essas necessidades e muito mais.

Existem muitas soluções de gerenciamento de estado e decidir qual delas usar
pode ser uma tarefa difícil. Não existe uma solução de gerenciamento de estado
perfeita! O importante é que você escolha a que funcione melhor para a sua
equipe e o seu projeto.

O Bloc foi projetado com três valores fundamentais em mente:

- **Simples:** Fácil de entender e pode ser usado por desenvolvedores com
  diferentes níveis de habilidade.
- **Poderoso:** Ajuda a criar aplicativos incríveis e complexos, compondo-os com
  componentes menores.
- **Testável:** Testa facilmente todos os aspectos de um aplicativo para que
  possamos iterar com confiança.

No geral, o Bloc tenta tornar as mudanças de estado previsíveis, regulando
quando uma alteração de estado pode ocorrer e impondo uma única maneira de
alterar o estado em todo o aplicativo.
